Periodic Expiration (Leased) License Model

Developing Applications Using The SoftwareShield System > Creating Licensing Solutions > Available License Models > Periodic Expiration (Leased) License Model

## Periodic Expiration (Leased) License Model

This model allows you to deliver a version of your software that repeatedly expires after some arbitrary number of days, weeks or months has passed. Customers must repeatedly re-activate in order to continue using your software.

For detailed information about expiration types and features see Expiring Licenses in the Feature Guide.

### Overview - How to Integrate the Periodic Expiration (Leased) License Model Into Your Application

Note that the Periodic Expiration (Leased) License Model is a special variation of either the Time Limited Trial License Model or the Absolute Expiration License Model. Which one you decide to use as the basis for your leased software depends on your specific business requirements and how you need each clients lease renewal to behave.

If you use the expire period approach, it will be somewhat easier to renew the lease programmatically, but more complex in reconciling how many lease days were remaining on the lease if they choose to renew before it was expired. If you do not allow the user to renew before expired - this is the preferred method. In which case you could, for example, grant the user a two week grace period to renew the lease after it has expired.

If you choose the hard expire date approach, you will have more precise control over the renewal of an individual clients lease, being able to specify in an Activation Code the exact date the new lease period will expire, but less flexibility in lease manipulation operations on the clients machine.

Most of the information you find in the two basic models (Time Limited Trial License Model and Absolute Expiration License Model ) applies to leased software - some notable differences are:

1. The expired state should never be "released", instead it should only ever be "changed". This can be accomplished using Change Expire Period Duration Authorization Definitions or Change Expiry Date Authorization Definitions respectively

2. As mentioned, if you allow the user to renew before the current period has elapsed, you may need to reconcile unused days into the new period or into the payment owed. If you do this, you must have your own system for determining this reconciliation day amount. Then apply it to either new renewal operation (Activation Code generated) or to your calculation of the amount due from the client.
   E.G.: If the base approach is an expire period and the user renewed for 365 days but had 15 days left on an existing period, you must either change the lease rate you charge them to be the equivalent of 350 days and simply send them an Activation Code to reset (or change) the expire period so it will effectively expire 365 days from today. Alternatively, you could charge the full lease rate and send a "Change Expire Period Duration" code to change the period to 380 days - effectively using up the remaining 15 days and adding 365 new days.